Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: Add generic type support to the material-ui theme #3329

Merged
merged 2 commits into from
Jan 4, 2023

Conversation

heath-freenome
Copy link
Member

Reasons for making this change

partially fix: #3072 by adding generic type support to the material-ui theme as follows:

  • In @rjsf/material-ui added generic type support as follows:
    • Updated all of the template and widget components to add the T = any, S extends StrictRJSFSchema = RJSFSchema and F extends FormContextType = any generics on the function definitions, types and utility function calls
    • Added a generateForm<T, S, F>() function to MuiForm.tsx, exporting it and exporting the default MuiForm as a call to generateForm()
    • Added a generateTemplates<T, S, F>() function to the Templates.tsx, exporting it and exporting the default Templates as a call to generateTemplates()
    • Added a generateTheme<T, S, F>() function to the Theme.tsx, exporting it and exporting the default Theme as a call to generateTheme()
    • Added a generateWidgets<T, S, F>() function to the Widgets.tsx, exporting it and exporting the default Widgets as a call to generateWidgets()
    • Updated the main index.ts for the theme to also export the generateXXX() functions
  • Updated the CHANGELOG.md accordingly

Checklist

  • I'm updating documentation
  • I'm adding or updating code
    • I've added and/or updated tests. I've run npm run test:update to update snapshots, if needed.
    • I've updated docs if needed
    • I've updated the changelog with a description of the PR
  • I'm adding a new feature
    • I've updated the playground with an example use of the feature

partially fix: rjsf-team#3072 by adding generic type support to the `material-ui` theme as follows:

- In `@rjsf/material-ui` added generic type support as follows:
  - Updated all of the template and widget components to add the `T = any`, `S extends StrictRJSFSchema = RJSFSchema` and `F extends FormContextType = any` generics on the function definitions, types and utility function calls
  - Added a `generateForm<T, S, F>()` function to `MuiForm.tsx`, exporting it and exporting the default `MuiForm` as a call to `generateForm()`
  - Added a `generateTemplates<T, S, F>()` function to the `Templates.tsx`, exporting it and exporting the default `Templates` as a call to `generateTemplates()`
  - Added a `generateTheme<T, S, F>()` function to the `Theme.tsx`, exporting it and exporting the default `Theme` as a call to `generateTheme()`
  - Added a `generateWidgets<T, S, F>()` function to the `Widgets.tsx`, exporting it and exporting the default `Widgets` as a call to `generateWidgets()`
  - Updated the main `index.ts` for the theme to also export the `generateXXX()` functions
- Updated the `CHANGELOG.md` accordingly
@heath-freenome heath-freenome changed the title fix: Add generic type support to the muterial-ui theme fix: Add generic type support to the material-ui theme Jan 3, 2023
@heath-freenome heath-freenome merged commit 700129c into rjsf-team:main Jan 4, 2023
@heath-freenome heath-freenome deleted the fix-3072-material-ui branch January 4, 2023 18:03
shijistar pushed a commit to shijistar/react-jsonschema-form that referenced this pull request Jun 8, 2023
partially fix: rjsf-team#3072 by adding generic type support to the `material-ui` theme as follows:

- In `@rjsf/material-ui` added generic type support as follows:
  - Updated all of the template and widget components to add the `T = any`, `S extends StrictRJSFSchema = RJSFSchema` and `F extends FormContextType = any` generics on the function definitions, types and utility function calls
  - Added a `generateForm<T, S, F>()` function to `MuiForm.tsx`, exporting it and exporting the default `MuiForm` as a call to `generateForm()`
  - Added a `generateTemplates<T, S, F>()` function to the `Templates.tsx`, exporting it and exporting the default `Templates` as a call to `generateTemplates()`
  - Added a `generateTheme<T, S, F>()` function to the `Theme.tsx`, exporting it and exporting the default `Theme` as a call to `generateTheme()`
  - Added a `generateWidgets<T, S, F>()` function to the `Widgets.tsx`, exporting it and exporting the default `Widgets` as a call to `generateWidgets()`
  - Updated the main `index.ts` for the theme to also export the `generateXXX()` functions
- Updated the `CHANGELOG.md` accordingly
shijistar pushed a commit to shijistar/react-jsonschema-form that referenced this pull request Jun 8, 2023
partially fix: rjsf-team#3072 by adding generic type support to the `material-ui` theme as follows:

- In `@rjsf/material-ui` added generic type support as follows:
  - Updated all of the template and widget components to add the `T = any`, `S extends StrictRJSFSchema = RJSFSchema` and `F extends FormContextType = any` generics on the function definitions, types and utility function calls
  - Added a `generateForm<T, S, F>()` function to `MuiForm.tsx`, exporting it and exporting the default `MuiForm` as a call to `generateForm()`
  - Added a `generateTemplates<T, S, F>()` function to the `Templates.tsx`, exporting it and exporting the default `Templates` as a call to `generateTemplates()`
  - Added a `generateTheme<T, S, F>()` function to the `Theme.tsx`, exporting it and exporting the default `Theme` as a call to `generateTheme()`
  - Added a `generateWidgets<T, S, F>()` function to the `Widgets.tsx`, exporting it and exporting the default `Widgets` as a call to `generateWidgets()`
  - Updated the main `index.ts` for the theme to also export the `generateXXX()` functions
- Updated the `CHANGELOG.md` accordingly
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Fix Typescript generics support in all themes in the beta
2 participants